其他
Linus的黑暗历史:Linux内核架构被知名教授评价一文不名!
混沌初开
呱呱坠地
在1991年,Linus Benedict Torvalds还是个芬兰学生,在赫尔辛基大学念计算机专业二年级。同时他也是个自学成才的黑客。这个长着沙滩黄头发、说话软绵绵的二十一岁芬兰帅哥喜欢折腾他的电脑,把它不断推向能力的极限。但他缺少一个合适的操作系统来满足他如此专业的需求。MINIX不错,可它只适合学生,是个教学工具,而不是一个强大的实战系统。 当时,全世界的程序虫们都很看好Richard Stallman的GNU项目——一个致力于推出自由、高质量软件的运动。 在计算科学的王国里, Stallman是个倍受尊崇的神话式英雄。他令人景仰的职业生涯是从大名鼎鼎的MIT人工智能实验室开始的。 七十年代中后期,在那里他开发出了著名的Emacs编辑器。 八十年代早期,商业软件公司从人工智能实验室吸引走了绝大多数优秀的程序员,并和他们签署了严格的保密合同。Stallman为此大大不爽。他认为软件和其它产品不同,在复制和修改方面,它不该受到任何限制。只有这样,才可能开发出更好更强的软件。 1983年,他在著名的《GNU宣言》中,向世人宣告了GNU项目的启动,开始了贯彻其哲学的自由软件运动(注:GNU一词是‘GNU's Not Unix’的递归缩写)。为了最终实现开发出一个自由操作系统的梦想,他得先制造些工具。 于是,在1984年初,Stallman开始创作一个令商业企业程序员叹服的作品——GNU C编译器(gcc)。他出神入化的技术天才,令所有商业软件程序员自愧不如。 gcc被公认为世界上最高效最强健的编译器之一。 Richard Stallman,GNU项目的创始人。 到1991年,GNU项目已经开发出了众多的工具软件。大家期待已久的GNU C编译器也问世了。但自由操作系统还没有出现。 MINIX也受制于版权(后来,在2000年4月, Tanenbaum在BSD许可证下发布了自由的MINIX)。 GNU操作系统内核---HURD---还在开发之中,几年之内还不可能面世。
拖了这么久,终于该说说Linus了。 1991年8月25号,Linus在MINIX新闻组发出了历史性的一贴: From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello,各位使用minix的朋友:
我正在写一个基于386(486)AT机器的(自由)操作系统(只是出于爱好,不会做得象gnu那么大、那么专业)。我从四月份开始酝酿,现在已经做得差不多了。我现在想知道一些你们对minix的看法,它哪点好?哪点不好?因为我这个操作系统和minix多少有点儿类似(文件系统采用同样的物理布局[因现实原因],其它方面也有类似的地方)。我已经把bash(1.08)和gcc(1.40)移植过来了,而且它们运转正常。这意味着在下面几个月里,我将给它加上更多实际的功能。所以我想知道大家都希望它有哪些功能。欢迎多提建议,但我不敢保证能实现你的建议 。Linus (torvalds@kruuna.helsinki.fi) 附:没错,它不包含任何minix的代码,而且它有一个多线程文件系统。它现在不能在其它硬件上转(因为用了386任务切换机制,等等),而且除了AT硬盘,它基本上不支持任何其它硬件。这就是全部了。 从这个帖子不难看出, Linus自己并没预料到他的小创造将会改变整个计算科学领域。 1991年9月中旬,Linux 0.01版问世了,并且被放到了网上。它立即引起了人们的注意。源代码被下载、测试、修改,最终被反馈给Linus。10月5号, 0.02版出来了,同时伴随着Linus著名的声明: From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Free minix-like kernel sources for 386-AT
Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI>
Date: 5 Oct 91 05:41:06 GMT
Organization: University of Helsinki
你在怀念minix-1.1时代的美好时光吗?那时你自己写着驱动,充满了成就感。现在没什么好项目可做了,是吗?你在拚命啃一个操作系统,修改它以满足你自己的需要,是吗?现在minix已经没什么需要你去改进的了,你为此怅然若失,是吗?没机会再熬通宵去改进一个小程序了,是吗?如果是这样的话,那这个帖子就是给你的 :-)
一个月前我曾经提到过,我正在一个AT-386 机器上开发一个自由版本的、类似minix的操作系统。现在它终于出来了(尽管未必能满足你的期待)。我乐意把源代码公开出来,让它传播得更广。它现在仅仅是0.02版(外加一个(很小的)补丁)。但是我已经成功地在它上面跑了 bash/gcc/gnu-make/gnu-sed/compress等程序。我这个小宝贝儿的源程序在nic.funet.fi(128.214.6.100) 下面的 /pub/OS/Linux 目录中可以找到。该目录中还有些 README 文件,还有几个在linux下能工作的可执行文件(bash,update和gcc,你还要求些什么呢 :-)。完整的内核源代码都公布在这儿了,因为里面没用到minix的源程序。而函数库的源程序只是部分开源,所以目前还不能提供出来。拿到源代码后,直接编译就行了。编译完,就能转了。哈哈。可执行程序(bash和gcc)的源代码可以在同一网站的/pub/gnu目录里找到。
Linus (torvalds@kruuna.helsinki.fi)
几周以后,Linux 0.03版发布了。12月份,0.10版发布了。这时的Linux还显得很简陋。它只能支持AT硬盘,而且不用登录(启动就进bash)。 0.11版有了不少改进,可以支持多国语言键盘、软驱、VGA、EGA、Hercules等等。 Linux的版本号从0.12直接上升到了0.95、0.96......不久, Linux的源代码就通过在芬兰和其它一些地方的FTP站点传遍了全世界。
谁与争锋
(Andrew Tanenbaum to Linus Torvalds) Linus后来承认说,这是关于开发Linux他所得到的最坏评价。 Tanenbaum是当时的知名教授,他说的话自然很有份量。但这次面对Linux,他的话没能奏效,因为Linus不是个轻易服输的人。 Tanenbaum还宣称: “Linux过时了。” 现在轮到新的Linux一代开始反击了。以强大的Linux社区为后盾, Linus给了Tanenbaum一个恰如其分的回复:你的工作是教授、研究员。这对于minix的大脑损伤是个绝妙的解释。
(Linus Torvalds to Andrew Tanenbaum) Linux的开发在继续。不久,加入开发的人数就超过了一百,然后是数千,然后是数十万。Linux不再只是个黑客的玩具,配合上GNU项目开发出的众多软件, Linux已经可以走向市场了。它最终在GNU公共许可证下发布,这保证任何人都可以自由获得它的源代码,可以自由复制、学习和修改它。学生和程序员们都没错过这个机会。 不久,软件商们也来了。Linux是自由的操作系统。软件商们需要做的只是把各种各样的软件在Linux平台上编译,然后把它们组织成一种可以推向市场的形式。这和其它操作系统在运作模式上没什么区别,只是Linux是自由的。 Redhat、Caldera、和其它一些公司都获得了相当大的市场,获得了来自世界各地的用户。除了这些商业公司,非商业的编程专家们也志愿地组织了起来,推出了他们自己的品牌——享誉全球的Debian。配上崭新的图形界面(比如X Window System、KDE、 GNOME), Linux的各个品牌都倍受欢迎。 好戏连台,惊喜不断。除了PC机,Linux又被移植到了许多其它平台上(PowerPC、Sun Sparc、ARM、Alpha...Debian就支持十几种CPU)。它还被人安装到了3com的手掌计算机上。另外,利用集群技术,许多Linux单机可以被组织成一个整体,用于并行计算。1996年4月, Los Alamos国家实验室的研究人员利用 68台Linux单机搭建了一个并行计算系统,用它来模拟原子弹爆炸的冲击波。与其它超级计算机不同的是,用Linux搭建的集群计算机非常便宜。这种DIY出来的超级计算机只花费$152,000,连人工(连接68台PC的线缆)都包括了。这价格只是同级别商业机的十分之一。它的峰值计算速度可达每秒190亿次(19 billion, )。在世界超级计算机排行榜中它排在第315位。它运行稳定可靠。三个月后,还不必重启动。 今天,Linux最大的优势就是推动它前进的巨大开发热情。一旦有新硬件问世, Linux内核就能快速被改进以适应它。比如, Intel Xeon微处理器才问世几个星期,Linux新内核就跟上来了。它还被用在了Alpha、MAC、PowerPC上。甚至在手掌机这一少人问津的领域都可以运行Linux。正如它在1991年诞生时那样,Linux正以同样的热情阔步走向新世纪。 至于Linus本人,他保持着简单的生活。不象比尔盖茨,Linus不是亿万富翁。完成学业之后,他移居美国,在Transmeta公司找了个工作。 Transmeta公司在指导完成了一个绝密项目的研发之后,推出了自己的Crusoe处理器。Linus是这个研发小组中活跃的一员。最近,他和Tove结了婚,生了个女儿,取名Patricia Miranda Torvalds。世界范围内的计算机社区都对Linus推崇备至,到目前为止,他是我们这个星球上最受欢迎的程序员。
风雨十年
Linux桌面应用的崛起
Linux在第三世界
Linux和其它开源软件的崛起彻底改变了这一切。在适当的减裁之后, Linux可以在硬件配置极低的计算机上运行。这使得Linux成为穷人的理想选择。在发达国家已经成为历史的老旧机器,比如486/Pentium 1计算机,在发展中国家还在被使用着。Linux使得这些老旧机器继续发挥作用。在第三世界,高昂的软件价格是个大问题,所以开源软件得到了广泛的传播。在亚非拉,Linux成了众多计算机爱好者们的选择。在世界的各个角落, Linux被本地化。这标志着它真正走向了全球。 Linux的相关文件被翻译成了各种语言,包括很多冷门的语言,比如,越南语。
从桌面系统到超级计算机
走向未来
-END-
推荐阅读
【01】深入分析 Linux 内核链表【02】Linux设备驱动之Kobject、Kset【03】阅读Linux内核时,有哪些常见宏?【04】工作中非常常用!浅谈Linux PCI设备驱动(建议收藏阅读)【05】手把手教你把驱动代码加入到Linux Kernel